Skip to content

Conversation

@nfbot
Copy link
Member

@nfbot nfbot commented Nov 7, 2025

Bumps Nerdbank.GitVersioning from 3.8.118 to 3.9.50

[version update]

⚠️ This is an automated update. ⚠️

Summary by CodeRabbit

  • Chores
    • Updated internal development dependencies to maintain compatibility and stability with the latest tooling versions.

Bumps Nerdbank.GitVersioning from 3.8.118 to 3.9.50</br>
[version update]

### ⚠️ This is an automated update. ⚠️
@coderabbitai
Copy link

coderabbitai bot commented Nov 7, 2025

Walkthrough

Updates the Nerdbank.GitVersioning dependency in System.Device.Dac/packages.lock.json from version 3.8.118 to 3.9.50, including updates to the resolved version and contentHash fields.

Changes

Cohort / File(s) Summary
Dependency Update
System.Device.Dac/packages.lock.json
Nerdbank.GitVersioning bumped from 3.8.118 to 3.9.50; contentHash updated

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update 1 NuGet dependencies' directly and specifically describes the main change—bumping a NuGet dependency (Nerdbank.GitVersioning) in the packages.lock.json file.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch nfbot/update-dependencies/e0ee7545-5437-40da-9e4e-2f72d00868b6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nfbot nfbot merged commit d92c2d3 into main Nov 7, 2025
8 of 9 checks passed
@nfbot nfbot deleted the nfbot/update-dependencies/e0ee7545-5437-40da-9e4e-2f72d00868b6 branch November 7, 2025 10:08
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9082a9c and 1fe7605.

⛔ Files ignored due to path filters (2)
  • System.Device.Dac/System.Device.Dac.nfproj is excluded by none and included by none
  • System.Device.Dac/packages.config is excluded by none and included by none
📒 Files selected for processing (1)
  • System.Device.Dac/packages.lock.json (1 hunks)
🔇 Additional comments (1)
System.Device.Dac/packages.lock.json (1)

13-15: Nerdbank.GitVersioning 3.9.50 update is safe to merge.

Verification confirms no breaking changes or security vulnerabilities. The minor version bump includes only enhancements and fixes.

Comment on lines +13 to +15
"requested": "[3.9.50, 3.9.50]",
"resolved": "3.9.50",
"contentHash": "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA=="
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify integrity and source of the updated package.

Ensure the contentHash change is legitimate and the package resolves from the correct, trusted source.


🏁 Script executed:

#!/bin/bash
# Description: Verify the Nerdbank.GitVersioning 3.9.50 package integrity and availability

# Check if the package is available on NuGet and retrieve its metadata
curl -s "https://api.nuget.org/v3/registration5-gz/nerdbank.gitversioning/index.json" | \
  python3 -c "import sys, gzip, json; data = json.loads(gzip.decompress(sys.stdin.buffer.read())); \
  items = [item for item in data.get('items', []) if any(v['version'] == '3.9.50' for v in item.get('items', []))]; \
  print(json.dumps(items, indent=2))"

Length of output: 379


🏁 Script executed:

#!/bin/bash
# Description: Query NuGet for Nerdbank.GitVersioning package info without gzip decompression

# Try the v3 search endpoint instead
curl -s "https://api.nuget.org/v3/search?q=nerdbank.gitversioning&prerelease=false&semVerLevel=2&take=1" | \
  python3 -c "import sys, json; data = json.loads(sys.stdin.read()); \
  packages = data.get('data', []); \
  print('Packages found:', len(packages)); \
  [print(f\"Package: {p['id']}, Latest Version: {p.get('version', 'N/A')}\") for p in packages]"

echo "---"

# Also try direct package version lookup
curl -s "https://api.nuget.org/v3-flatcontainer/nerdbank.gitversioning/3.9.50/nerdbank.gitversioning.nuspec" | head -20

Length of output: 1577


🏁 Script executed:

#!/bin/bash
# Description: Verify contentHash of Nerdbank.GitVersioning 3.9.50 package

# Download the .nupkg file
curl -s "https://api.nuget.org/v3-flatcontainer/nerdbank.gitversioning/3.9.50/nerdbank.gitversioning.3.9.50.nupkg" -o /tmp/package.nupkg

if [ -f /tmp/package.nupkg ]; then
  # Compute SHA512 hash and convert to base64
  computed_hash=$(sha512sum /tmp/package.nupkg | cut -d' ' -f1 | xxd -r -p | base64)
  echo "Computed SHA512 (base64): $computed_hash"
  echo "Expected contentHash:     HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA=="
  
  if [ "$computed_hash" = "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA==" ]; then
    echo "✓ contentHash VERIFIED - Package integrity confirmed"
  else
    echo "✗ contentHash MISMATCH - Package may be corrupted or tampered"
  fi
  
  # Also show file info
  ls -lh /tmp/package.nupkg
else
  echo "Failed to download package"
fi

Length of output: 360


🏁 Script executed:

#!/bin/bash
# Description: Verify contentHash using Python

python3 << 'PYTHON_SCRIPT'
import hashlib
import base64

file_path = "/tmp/package.nupkg"

try:
    with open(file_path, 'rb') as f:
        file_content = f.read()
    
    # Compute SHA512 hash
    sha512_hash = hashlib.sha512(file_content).digest()
    
    # Encode to base64
    computed_hash = base64.b64encode(sha512_hash).decode('utf-8')
    
    expected_hash = "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA=="
    
    print(f"File size: {len(file_content)} bytes")
    print(f"Computed SHA512 (base64): {computed_hash}")
    print(f"Expected contentHash:     {expected_hash}")
    print()
    
    if computed_hash == expected_hash:
        print("✓ contentHash VERIFIED - Package integrity confirmed")
        print("✓ Package source: Official NuGet CDN (https://api.nuget.org)")
        print("✓ Package publisher: dotnet (trusted Microsoft project)")
    else:
        print("✗ contentHash MISMATCH - Hashes do not match")
        print(f"   Difference detected - this may indicate package corruption or tampering")
        
except Exception as e:
    print(f"Error: {e}")
PYTHON_SCRIPT

Length of output: 376


Update packages.lock.json with correct contentHash for Nerdbank.GitVersioning 3.9.50.

The contentHash in packages.lock.json does not match the current package on NuGet. Computed SHA512 hash from the official NuGet package: ZZAEYIdCsXfPQEJEIjDPJFhynApHowk1pR6nNbmMkvgrru4Iso8DszGUq5aD/mED20ANpelgU5DKH8lJP7BtuQ==

Update line 15 to reflect the correct hash to ensure lock file integrity.

🤖 Prompt for AI Agents
In System.Device.Dac/packages.lock.json around lines 13 to 15, the contentHash
for Nerdbank.GitVersioning 3.9.50 is incorrect; replace the current value on
line 15 with the correct SHA512 string
"ZZAEYIdCsXfPQEJEIjDPJFhynApHowk1pR6nNbmMkvgrru4Iso8DszGUq5aD/mED20ANpelgU5DKH8lJP7BtuQ==",
preserving JSON quoting and commas, then save and run a quick
restore/verification to ensure the lockfile now matches the NuGet package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants